import fs from '../fs'
import { checkError } from '../../universalify'

function symlinkType (srcpath, type, callback) {
    callback = (typeof type === 'function') ? type : callback
    type = (typeof type === 'function') ? false : type
    if (type) return callback(null, type)
    fs.lstat(srcpath, (err, stats) => {
        if (checkError(err)) return callback(null, 'file')
        type = (stats && stats.isDirectory()) ? 'dir' : 'file'
        callback(null, type)
    })
}

function symlinkTypeSync (srcpath, type) {
    let stats

    if (type) return type
    try {
        stats = fs.lstatSync(srcpath)
    } catch {
        return 'file'
    }
    return (stats && stats.isDirectory()) ? 'dir' : 'file'
}

export default {
    symlinkType,
    symlinkTypeSync
}
